/*
 * Ext JS Library 2.0 Alpha 1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Ext.onReady(function(){
	Ext.BLANK_IMAGE_URL = '/js/extjs/resources/images/default/s.gif';
	Ext.form.Field.prototype.msgTarget = 'under';
	Ext.MessageBox.buttonText.yes = "Si";
	Ext.MessageBox.buttonText.no = "No";
	var processTrazaResponse = function(xml) {
		if(xml.status != 200) {
			alert(xml.status);
			Ext.MessageBox.alert('Mensaje', 'No se pudo recuperar la Matriz de Trazabilidad');
		} else {
			Ext.get('traza-table').update(xml.responseText);
			createGrid();
		}
	};
	var createGrid = function () {
		var gridTRAZA = new Ext.grid.TableGrid("traza_rc_pr");
		gridTRAZA.render()
	};
	
	var processTraza = function(tipo) {
		var url_traza = getProjectName() + '/trazability/' + tipo;
		$.ajax({
			type: "get",
			url: url_traza,
			dataType: "xml",
			async: false,
			complete: function(xml) {processTrazaResponse(xml);}
		});
	}
	var url_clientrequirements = 'clientrequirements.html?project=' + getProjectName();
	var url_productrequirement = 'productrequirements.html?project=' + getProjectName();
	var url_products = 'products.html?project=' + getProjectName();
	var url_trazabilidad = 'trazability.html?project=' + getProjectName();	
	var viewport = new Ext.Viewport({
			layout: 'border',
			items: [
				new Ext.Panel({ 
					id: 'north-panel',
					region:'north',
					contentEl: 'header',
					frame: true,
					bbar:[
						{ text: 'Requerimientos de Cliente', handler: function() { ir(url_clientrequirements);}},
						'-',
						{ text: 'Requerimientos de Sistema', handler: function() {ir(url_productrequirement);}},
						'-',
						{ iconCls: 'icon-collapse-all', text: 'Productos', handler: function() {ir(url_products);}},
						'-',
						{ text: 'Trazabilidad', handler: function() {ir(url_trazabilidad);}}
						]
						
				}),
				new Ext.Panel({
					region:'center',
					items: {contentEl: 'center'},
					tbar: [{
							text: '<b>Seleccione la matriz que desea visualizar:</b>'
							},
							{
							text: 'Completa',
							tooltip: 'Muestra la trazabilidad entre los Requerimientos de Cliente, los de Sistema y sus productos',
							handler: function() { processTraza('crprprod'); }
							},
							{
							text: 'Requerimientos de Cliente vs Sistema',
							tooltip: 'Muestra la trazabilidad entre los Requerimientos de Cliente y los de Sistema',
							handler: function() { processTraza('crpr'); }
							}, 
							{
							text: 'Requerimientos de Sistema vs Producto',
							tooltip: 'Muestra la trazabilidad entre los Requerimientos de Sistema y Productos',
							handler: function () { processTraza('prprod'); }
							}]
				})
			]	
	});
	var url_trazacrpr = getProjectName() + '/trazability/crpr';
	$.ajax({
		type: "get",
		url: url_trazacrpr,
		dataType: "xml",
		async: false,
		complete: function(xml) {processTrazaResponse(xml);}
	});	
});
